我試圖二進制轉換爲greycode,但我不知道什麼是錯,此代碼:試圖二進制轉換爲greycode
#include <stdio.h>
// I copied this function from wiki
unsigned int binaryToGray(unsigned int num) {
return num^(num >> 1);
}
int main(int argc, const char *argv[]) {
unsigned int binarynum = 10;
unsigned num = binaryToGray(binarynum);
printf("%d!!", num);
return 0;
}
那麼,什麼是你得到一個特定的輸入輸出?你有什麼錯誤嗎? – EkcenierK
這是**經典的二進制格雷碼轉換功能,它不是您所期望的?如果輸出沒有出現,修改'printf'來添加一個尾部換行:'printf(「%d!n」,num);' – chqrlie
輸入是10,它應該給我一個11位的灰色代碼,但是這個代碼打印15 –