【C語言】將二進位制數逆序輸出。比如6為000...0110,逆序後為0110...000
//將二進位制數逆序輸出。比如6為000...0110,逆序後為0110...000 #include <stdio.h> unsigned int reverse_bit(int num) { int i; int bit; unsigned new_num = 0; for (i = 0; i < 32; i++) { bit = num & 1; //取出最後一位 new_num <<= 1; //新數左移 new_num =new_num | bit; //把剛取出的一位加到新數 num >>= 1; //原數右移,準備取第二位 } return new_num; } int main() { printf("%u\n", reverse_bit(0)); printf("%u\n", reverse_bit(2147483648)); printf("%u\n", reverse_bit(3)); printf("%u\n", reverse_bit(100)); printf("%u\n", reverse_bit(6)); return 0; }
相關推薦
【C語言】將二進位制數逆序輸出。比如6為000...0110,逆序後為0110...000
//將二進位制數逆序輸出。比如6為000...0110,逆序後為0110...000 #include <stdio.h> unsigned int reverse_bit(int num
【c語言】將一個數的二進位制序列逆序,然後輸出逆序之後的二進位制序,所對應的數
<pre name="code" class="cpp">// 將一個數的二進位制序列逆序,然後輸出逆序之後的二進位制序,所對應的數 #include <stdio.h> // 從原數拿出最低位,放到mid中,mid左移,原數右移 int r
【C語言】列印水仙花數
題目:用C語言列印1000以內的水仙花數,“所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。 例如:153是一個“水仙花數”,因為153=1^3+5^3+3^3(1的三次方+5的三次方+3
【c語言】將兩個字串連線起來,不要用strcat函式
#include <stdio.h> int main() { char s1[80],s2[40]; int i=0,j=0; printf("input string1:"); scanf("%s",s1); printf("input strin
【C語言】自己編寫程式實現strchr函式。即在給定字串中找特定的字元並返回該處指標。
<pre name="code" class="cpp">//自己編寫程式實現strchr函式。即在給定字串中找特定的字元並返回該處指標。 #include <stdio.h>
【C語言】編寫一個程式顯示當前時間。
#include<sys/time.h> #include<time.h> #include<stdio.h> int main() {struct tm *ptm;time_t ts;char tim[50];ts = time(NUL
【C語言】輸入一個整數,輸出該數二進位制表示中1的個數(三種方法)
輸入一個整數,輸出該數二進位制表示中1的個數。如輸入32,輸出1.程式碼實現:方法1:與運算#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; int FindOne
【c語言】依次將10個數輸入,要求輸出其中最大的數
// 依次將10個數輸入,要求輸出其中最大的數 #include <stdio.h> int main() { int a[10]; int i; int temp; printf("請輸入10個數:"); for( i = 0; i < 1
【C語言】數據對其(內存對齊)
brush size return () def ont http 之間 sign 數據對齊 結構體之間的對齊是有很多種方法的,也是根據你所用的系統位數有關。下面都是以32位系統來講的,32位系統一般以字對齊,字就是系統位數,32位系統則是32位對齊,也就是4字節(in
【C語言】學習筆記7——指針與多維數組
一個 聲明 %d mage 分享圖片 技術分享 pan 最好 include 1. 聲明一個指向多維數組的指針 int (* pz) [2]; //pz指向一個內涵兩個int類型元素的數組 int * pax[2]; //pax 是一個內含兩個指針元素的
【c語言】水仙花數
/* 編寫fun函式和主函式 在mian函式中從鍵盤輸入一個三位數,並輸出判斷結果 呼叫函式fun判斷一個三位數是否是水仙花數 */ #include<stdio.h> void main(){ int i,j,k,n; printf("water flowernum
【C語言】判斷一個數是不是迴文數
所謂迴文數,就是說一個數字從左邊讀和從右邊讀的結果是一模一樣的。 首先,我們來判斷一下一個數是否為迴文數: #define _CRT_SECURE_NO_WARNINGS 1 #include&
【C語言】輸出100~999之間的所有“水仙花數”
“水仙花數”: “水仙花數”又稱為“阿姆斯特朗數”。如果一個n(n≥3)位數的各位數字的n次冪之和等於該數本身,則該數稱為“水仙花數”。如:153=1³+5³+3³。 問題:輸出100~999之間的所有“水仙花數”。 實現思路: 根據
【C語言】求一個數的二進位制位模式從左到右翻轉後對應的十進位制值。
用函式unsigned int reverse_bit(unsigned int value)實現想要的功能 value是我們想要求的值。 #include <stdio.h> #include <math.h> unsigned
【c語言】給一個不多於五位的正整數: 1.求出它是幾位數 2.分別輸出每一位數字 3.逆序輸出各位數字
#include<stdio.h> #include<math.h> //求出它是幾位數 int Count(int n) { int tmp = 0; while (n != 0) { tmp++; n /= 10;
【C語言】給定兩個整型變數的值,將兩個值的內容進行交換(不同方法)
給定兩個整型變數的值,將兩個值的內容進行交換,現在我介紹幾種不同的實現方法:法1:在主函式裡實現,這樣操作這兩個值時並未重新開闢空間,直接交換可以達到目的。#include<stdio.h> #include<stdlib.h> int m
【c語言】要求輸出100~200之間不能被3整除的數
// 要求輸出100~200之間不能被3整除的數 #include <stdio.h> int main() { int i; printf("100~200之間不能被3整除的數:\n"); for(i = 100; i <= 200; i++)
【C語言】求一個數的二進位制中 1 的個數
求一個數的二進位制的1的個數 1,通過模除的方法 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int i = 0;
【C語言】兩個int(32位)整數m和n的二進位制表達中,有多少個位(bit)不同
根據異或我們可以知道,兩個數字的二進位制位按位異或,相同為0,相異為1。 因此我們可以通過將兩個數字按位異或,並計算該異或結果中二進位制位中1的個數,即可知道有多少個位元位不同。 int count(int a, int b) { int m = a ^ b; // 兩個數按位異或,對應不
【C語言】簡單思路找一個數組中重複次數最多的數
#include <stdio.h> int main() { int a[1024]; int b[1024] = {0}; //初始化每個數出現一次 int i = 0;