c十六進製制加法,C 十六進製制求和?

時間 2022-03-01 09:35:16

1樓:心冰依然

這取決於int的字長,如果32位int,int*型別的指標+1,它的位址加4,如果是64位的int,int*型別+1,它所在位址就加8,

題目中tt為int*型別,tt+0x1300*4,就相當於tt所在的位址+(0x1300*4)*4

故此,輸出aa既aa指標的位址就是5401b

2樓:

int *tt=(int*)0x4101b;

int *aa;

aa = tt+1;這裡的加1,不是說位址加上1個位元組,而是下乙個整型變數的位址,一般整型變數佔四個位元組,所以aa的值為0x4101b+4;

同理:aa=tt+0x1300*4;

實際上是0x4101b+0x1300*4*4;

你可以將int*改為char*試一下,對比一下結果就知道了

3樓:匿名使用者

tt是乙個指標?你讓指標與int相加?

我看你的**應該改成

int tt=0x4101b;

int aa=tt+0x1300*4;

cout<

最後使用count<

char *tt=(char*)0x4101b;

char *aa;

aa=tt+0x1300*4;

這樣aa的值就成了0x45c1b了

c++十六進製制求和?

4樓:匿名使用者

#include"stdio.h"

void main()

對應不同型別資料的輸出,類似於輸入函式,c語言用不同的格式字元描述。

d:以帶符號的十進位制整數形式輸出整數(正數不輸出符號)。

o:以無符號八進位制整數形式輸出整數(不輸出前導符o)。

x:以無符號十六進製制整數形式輸出整數(不輸出前導符ox)。

u:以無符號十進位制整數形式輸出整數。

c:以字元形式輸出,輸出乙個字元。

s:以字串形式輸出,輸出字串的字元至結尾符』\o』為止。

f:以小數形式輸出實數,隱含輸出1位整數,6位小數。

e:以標準指數形式輸出實數,數字部分隱含1位整數,6位小數。

g:根據給定的值和精度,自動選擇f與e中較緊湊的一種格式,不輸出無意義的o。

5樓:匿名使用者

10進製加法會吧?就是個位加,如果滿10就高位加1,本位取減10的餘數

16進製制查不多,就是滿16高位加1,本位取減16的餘數

6樓:

int a,b;

scanf("%x%x",&a,&b);

printf("%x",a+b);

讀入16進製制數,輸出16進製制數,如a3 7結果是aa

7樓:風龍一

用scanf("%x",&a[i])輸入 然後直接求和後用printf("%x",sum)輸出就可以了:)

8樓:匿名使用者

說起這些進製的演算法我是一點不懂,但是我們班有的同學竟然能在10秒鐘就能算出這些來。

9樓:匿名使用者

直接求,輸入數設成16進製制,求出來的數弄成16進製制輸出就好了

c++十六進製制的加減乘除求餘的程式設計如何? 10

10樓:夢見鈔

資料讀進去直接運算就行了+-*/,用c語言原來的就行

用c++實現輸入兩個十六進製制數相加或相減,輸出其二進位制數相加或相減,結果為十進位制數

11樓:yty隨意

1、首先,定義乙個bai整型數du組,儲存所有的整數。zhi

2、定義乙個自定義函式dao,判版斷兩個數的大小。自定義函式中,權如果兩個整數不相同,則判斷它們的大小。

3、主函式中,先定義兩個整型變數,儲存數值的個數和有無相同數值的判斷。

4、輸入數值的個數,儲存在變數n中。輸入所有的數值,儲存在陣列num中。

5、將陣列中的所有數值按從小到大的順序排列,如下圖所示。

6、用for迴圈語句判斷每個數值,是否有相同的數。如果乙個數有相同的數值,則輸出所有相同數,用while語句實現所有數的判斷。

12樓:匿名使用者

|#include

using namespace std;

int gethex(char *s)

return r;

}void main()  else i++; }

if ( b>=0 ) {

bb=( str[b]=='+' )?(0):(1); str[b]=0;

x=gethex(str); y=gethex(str+b+1); z=x; z+=( bb )?(-y):(y);

for ( i=0,b=0x1000;i<13;i++,b>>=1 ) cout<<(( x&b )?(1):(0));

cout<<' '<<(( bb )?('-'):('+'))<<' ';

for ( i=0,b=0x1000;i<13;i++,b>>=1 ) cout<<(( y&b )?(1):(0));

cout<<" = "<

求用c++寫的兩個十六進製制數相加的程式,如75+31=a6,請用函式呼叫寫,謝謝~

13樓:虎爺可樂

我重新寫了個,先把兩個數轉為 10 進製,算完再轉為 16 進製。完整**如下:

#include

#include

#include

//進製轉換

int hex2int(char *str, int *result)else if(*str >= 'a' && *str <= 'f')else if(*str >= 'a' && *str <= 'f')else

}return 0;

}int int2num(int num, char **result, char scale)

if(num)else if(*temp == 0)*result = strdup(temp);

int2num(a + b , &x, 16);

return x;

}int main()

14樓:匿名使用者

這個函式本身沒有問題,16進製表示只是你顯示上而已,其實還是那個數0x6a(或106)。 比如 你可以按照16進製制列印出來, printf(" %x",add(75,31));

或者 可以按照10進製列印出來, printf(" %d",add(75,31));

結果和進製沒有關係!!!

用c++編寫程式輸入十六進製制數

15樓:匿名使用者

你裡面的下標一時是checklength+1,一時是checklength,這裡處理有問題。修正如下:

istream& operator>>(istream& i, hex& n)

n.m_num[checklength-1]=s[checklength];

checklength++;

}n.m_num[checklength-1]='\0';

}else

n.m_num[checklength]=s[checklength];

checklength++;

}n.m_num[checklength]='\0';

}return i;}

16樓:

為什麼這麼複雜?以下就行了……

//#include "stdafx.h"//vc++6.0加上這一行.

#include

using namespace std;

void main(void)

十六進製制轉換十進位制,十六進製制轉換十進位制 ffff

十六進製制ffff轉換成十進位制是65535,在十六進製制中f表示15。十六進製制轉十進位制的方法和二進位制轉十進位制的方法類似。也是將各權值相加得到十進位制數。計算過程 第一位的權值為15乘以16的0次方等於15,第二位的權值為15乘以16的1次方等於240,第三位的權值為15乘以16的2次方等於...

十六進製制是什麼,十六進製制是什麼意思?

分別用a b c d e f表示,這裡字母和 等數字是等價的。比如16進製制的3b這個數,化成十進位制就是3 16 11 59若是十進位制轉化成十六進製制,比如2345,可以這樣轉換 2344除以16等於146餘8 146除以16等於9餘2 9除以16餘9,將三個餘數反過來排列,則可得2344轉化為...

十六進位制如何轉換成二進位制,十六進位制如何轉換為二進位制

清溪看世界 將十六進位制數轉換為二進位制數,只需將每一位的十六進位制數轉換為相應的4位二進位制數,然後組合起來即可。所以與十六進位制數bc等值的二進位制數是10111100,應該選擇b項。擴充套件資料二進位制與十六進位制之間的轉換 1 二進位制數轉換成十六進位制數 由於2的4次方 16,所以依照二進...