快速訪問內建型別的每一位位元組

2022-05-13 06:41:21 字數 470 閱讀 7635

之前想過這樣乙個問題,如何逐個操作乙個int型別物件的4位位元組呢

如我有char a[4]=、int b

可以先把b位址取出來&b

再將這個位址轉化為char*型別(char*)&b

此時這個整體可當做char陣列訪問各各位元組啦

((char*)&u)[0]=0xff

((char*)&u)[1]=0xff

((char*)&u)[2]=0xff

((char*)&u)[3]=0x7f

然後輸出u的值:2147483647

也可以用上面提到的a字串陣列和strcpy函式

strcpy(((char*)&u),a);

很有意思

當然,不建議大家用這個操作。。不太安全,而且不常用

當然,當黑科技玩玩還是很有意思的

提取數字的每一位

提取數字的每一位,可以使用取餘和除法的組合來實現。如下 int ival dequenumbers cin ival while ival 因為對 10 取餘得到的是當前數字的最後一位,比如 1234 10 的結果是 4,所以記錄結果的時候必須將每次取餘得到的數字放到已經提取出的部分結果的前面。對於...

輸出整數的每一位

問題描述 正序輸出整數的每一位 例如 輸入1234,輸出1234 思路 方法一 遞迴實現 利用遞迴的特點,當遞迴到整數的最高位時,輸出並開始返回 方法二 利用陣列儲存 將整數的每一位以字元形式儲存到陣列當中,並將其輸出 遞迴實現 void printr int n 陣列儲存 void printno...

列舉獲取整數的每一位

b1016考察的關鍵是如何列舉獲取整數的每一位。乙個整數a,對a取余能拿到它的個位,令a除以10能讓a去掉個位。如123,a 123 10,則a為3,a a 10,則a為12。列舉獲取每一位,只要用乙個迴圈控制,每次判斷a有沒有變成0 即取完了最後的個位 在每次迴圈中,獲取它的個位。考察的另乙個關鍵...