第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請(qǐng)教下為什么輸出二進(jìn)制的字符串的高位0會(huì)消失;

請(qǐng)教下為什么輸出二進(jìn)制的字符串的高位0會(huì)消失;

RISEBY 2023-03-05 22:18:24
//實(shí)現(xiàn)無符號(hào)循環(huán)右移;#include <stdio.h>unsigned int rotate_right(unsigned int x,int num);int main(void){unsigned int x;unsigned int num;char string[40];printf("輸入操作數(shù)和右移次數(shù):");while(scanf("%d%d",&x,&num)==2){printf("\n數(shù) %u 右移 %u 位的結(jié)果是: ",x,num);x=rotate_right(x,num);itoa(x,string,2);printf("%s\n",string);printf("輸入操作數(shù)和右移次數(shù):");}return 0;}unsigned int rotate_right(unsigned int x,int num){ int i;for(i=0;i<num;i++){if((x&1)==1){x=x>>1;x=x|(1<<31);}else{x=x>>1;x=x&(~(1<<31));}}return x;}
查看完整描述

2 回答

?
largeQ

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊

#include <string>
#include <iostream>
using namespace std;
string foo(int n)
{
string str;
for(unsigned i=0; i<32; ++i)
{
str.insert(str.begin(),'0'+(n&1));
n >>= 1;
}
return str;
}

void main(void)
{
cout<<foo(567)<<endl;
}


查看完整回答
反對(duì) 回復(fù) 2023-03-08
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

1.在這里,return 0;的作用僅僅是表示mian()函數(shù)運(yùn)行結(jié)束。作用是不執(zhí)行后面的的system("pause"); 語句.

2.函數(shù)itoa求出的只是該二進(jìn)制數(shù)對(duì)應(yīng)的“字符串”是char類型,不是int類型的數(shù)據(jù)。這里只是看個(gè)結(jié)果,所以,用字符串足已。
請(qǐng)看:
printf("%s\n","10101011"); 
printf("%d\n",10101011); 
二者輸出結(jié)果完全一樣!

如果你想存在int類型數(shù)據(jù)中,簡單的很,前面再加atoi()函數(shù)即可。
請(qǐng)看:
int num = atoi( itoa(num, str, 2) ); 
printf("%d\n",num); 

3.:%s是是輸出字符串的格式控制符,%c是輸出單個(gè)字符的格式控制符。

查看完整回答
反對(duì) 回復(fù) 2023-03-08
  • 2 回答
  • 0 關(guān)注
  • 158 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)