,導致得到的二進制數有些地方不一樣,顯然整型的長度太小了,我該怎么改?
uj5u.com熱心網友回復:
直接挨個輸出唄,二進制就不用存下來了比如3,依次輸出1和1,3%2,和(3/2)%2
uj5u.com熱心網友回復:
描述不清楚,貼要求,貼代碼來看10進制數本身是否就超出int的范圍, 不超的話, 32位長度陣列保存二進制字符就夠了
longlong,支持64位, 64位二進制字符
否則, 就都是十進制本身就是陣串列示了,輸出到是可以考慮直接輸出不存盤陣列的
uj5u.com熱心網友回復:
題是這樣的,輸入一個十進制的數,講它轉化為二進制,十進制,和十六進制輸出,輸出的時候要一個數一個數輸出,并且中間有一個空格
uj5u.com熱心網友回復:
但測驗資料有很大的數,導致我用陣列輸出來的數多達27個,然后對比我的輸出和正確答案,發現有些地方不一樣,我覺得可能是輸入的數太大了,超過了整型的范圍
uj5u.com熱心網友回復:
#include <stdio.h>int main() {
long long n;
char bin[65] = {0};
scanf("%lld", &n);
int len = 64;
do {
bin[--len] = (n&1) + '0';
n /= 2;
} while(n>0);
printf("%s", bin+len);
return 0;
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/156924.html
標籤:C++ 語言
上一篇:資料存盤
下一篇:萌新
