#include #include
#include
using namespace std;
int main()
int scanf( const char *format, ... );
scanf()函式是格式化輸入函式,它從標準輸入裝置(鍵盤) 讀取輸入的資訊。 其呼叫格式為: scanf("《格式化字串》",《位址表》)。
scanf("%d,%d", &a, &b); 如果a和b都被成功讀入,那麼scanf的返回值就是2
如果只有a被成功讀入,返回值為1
如果a和b都未被成功讀入,返回值為0
如果遇到錯誤或遇到end of file,返回值為eof。
//列印訊息的二進位制值
char result[8];
char* echobin = new char[(size-pos)*10];
memset(echobin,0,(size-pos)*10);
int echolen = 0;
for(int i=0; i<(size-pos); i++)
memmove(echobin+echolen,"&",sizeof("&"));
echolen++; }
log(1)("echobin=%s\n",echobin);
log(1)("bin end!echolen=%d\n",echolen);
delete echobin;
echobin = null;
控制字元說明
%c乙個單一的字元
%d乙個十進位制整數
%i乙個整數
%e, %f, %g
乙個浮點數
%o乙個八進位制數
%s乙個字串
%x乙個十六進製制數
%p乙個指標
%n乙個等於讀取字元數量的整數
%u乙個無符號整數
%乙個字符集
%%乙個精度符號
1、二進位制數、八進位制數、十六進製制數轉十進位制數
有乙個公式:各位數字分別乖以各自的基數(進製)的(n-1)次方,其和相加之和便是相應的十進位制數。個位,舉例:
二進位制: 110=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6
八進位制: 110=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72
十六進製制: 110=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272
2.十進位制轉其它進製(兩種方法)
第一種方式:除以進製位
一、十進位制轉二進位制
如:55轉為二進位制
2|55
27――1 個位
13――1 第二位
6――1 第三位
3――0 第四位
1――1 第五位
最後被除數
1為第六位,即得110111
二、十進位制轉八進位制
如:5621轉為八進位制8|5621
702 ―― 5 第一位(個位)
87 ―― 6 第二位
10 ―― 7 第三位
1 ―― 2 第四位
最後得八進位制數:12765
三、十進位制數十六進製制如:76521轉為十六進製制
16|76521
4782 ――9 第一位(個位)
298 ――e 第二位
18 ――a 第三位
1 ―― 2 第四位
最後得12ae9
第二種方式:
先把十進位制轉換為二進位制,然後取二進位制每4位為16進製制的一位(共8位),每3位為8進製的一位(共11位)
可以與1111和111相與來得出它們的每一位
其實這兩種方法是一樣的,一種是十進位制的除法,一種是二進位制的除法(16進製為例:位移4位是求除的結果,與1111相與是求餘)
2.二進位制數轉換成其它進製
二進位制轉八進位制:從小數點位置開始,整數部分向左,小數部分向右,每三位為一組用八進位制的數字來表示
010110.001100b=26.14
八進位制轉二進位制反之則可。
二進位制轉十六進製制:從小數點位置開始,整數部分向左,小數部分向右,每四位為一組用十六進製制的數字來表示,00100110.00010100b=26.14
十進位制轉其他進製**
#include #include #include #define map_len 16//各進製的最大長度
#define hex_shift 4
#define hex_len ( (int)(32/hex_shift) + 1 ) 9
#define oct_shift 3
#define oct_len ( (int)(32/oct_shift) + 1 ) 11
#define bin_shift 1
#define bin_len ( (int)(32/bin_shift) + 1 ) 33
static char maptable[map_len] = ;
void int2other( int number, int size, int mask, int shift )//size為字元位數(儲存轉換後的字元),mask 為1111 111 1,shift為4 3 1
//輸出值
//printf( "%s\n", result );//這個是正序的 應該逆序輸出
for ( --i; i >= 0; i-- )
delete result;
}void int2hex( int number )
void int2oct( int number)
void int2bin( int number)
int main()
二 八 十 十六進製制之間轉換
進製轉換 十進位制和 二 八 十六進製制之間之間轉換 二 八 十六進製制之間可以借助十進位制來互相轉換 package algorithms author time 2017年5月10日 上午11 37 08 public class sysconvert return bin 十進位制 八進位制 ...
二 八 十 十六進製制之間的轉換
int n1 14 十進位制轉成十六進製制 integer.tohexstring n1 十進位制轉成八進位制 integer.tooctalstring n1 十進位制轉成二進位制 integer.tobinarystring 12 十六進製制轉成十進位制 integer.valueof ffff...
java 二 八 十 十六進製制之間的轉換
int n1 14 十進位制轉成十六進製制 integer.tohexstring n1 十進位制轉成八進位制 integer.tooctalstring n1 十進位制轉成二進位制 integer.tobinarystring 12 十六進製制轉成十進位制 integer.valueof ffff...