从十进制转换为二进制
Changing from decimal to binary
我使用这个示例代码来帮助我完成十进制到二进制的数字转换:http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=13734&lngWId=3从十进制转换到二进制。
我对较小的数字成功地进行了测试。但是当我加上一个数字时,例如:2159492075或2159492195。程序只输出0
。此外,我还尝试了一个大小相同的数字,例如1234567899或2134567899,我得到了数字的适当二进制表示。我想知道为什么会这样?
最初我认为这可能是因为将变量定义为long int:
long int dec,k=0,i=0,j=0,n,remainder,result[100];
但深入研究,我认为这不是一个问题。谁能告诉我哪里做错了吗?
尝试使用long long
类型代替。您的问题可能不只是溢出。
void convert(long long n, int arr[100], int & i)
{
i = 0;
do
{
arr[i++] = n % 2;
n /= 2;
} while (n);
for (int j = 0; j <= i / 2; ++j) swap(arr[j], arr[i - j - 1]);
}
用法:
int sz, my_arr[100];
convert(2013, my_arr, sz);
for (int i = 0; i < sz; ++i) cout << my_arr[i];
cout << endl;
相关文章:
- C++从二进制转换为十进制数
- 我写的 ASCII 到二进制转换器C++向后显示二进制,如何使其正确显示?
- 十进制到二进制转换器 c++
- 将二进制转换为十进制,我如何要求用户仅输入二进制
- 十进制,包括负到 32 位二进制转换器
- 输入 1024 后十进制到二进制转换的输出错误?
- C 二进制转换为双精度的转换运算符
- 将二进制转换为负整数
- 如何将 32 位编译二进制转换为 64 位
- 如何在 C++ 中将二进制转换为十六进制
- 如何理解 c++ 中的 MNIST 二进制转换器?
- 以下对二进制转换代码的小数如何工作
- 具有递归功能的二进制转换给出一个奇数值
- 了解C++位操作中的二进制转换实现
- 编写将二进制转换为文本C 6的程序
- 反射格雷码到二进制转换中的幻数
- 为什么我总是必须除以 49 才能得到二进制转换器 + cout 歧义的正确答案?
- 如何使用库将二进制转换为十进制<bitset>?
- C++二进制转换为十进制,八进制
- 脚本到二进制转换和对象序列化