把一個無符號整數對應的十六進位制的前八位和末八位交換,中間的十六位也同理互換
例如0xfabcde12,變換後為:12debcfa
用位運算實現,再控制輸出;
程式碼如下:
#include <stdio.h>
using namespace std;
int main()
{
unsigned int n;
while(scanf("%d",&n)!=EOF){
printf("%.8x\n",n);
printf("%.2x",(n<<24)>>24);
printf("%.2x",(n<<16)>>24);
printf ("%.2x",(n<<8)>>24);
printf("%.2x",n>>24);
}
return 0;
}
相關推薦
把一個無符號整數對應的十六進位制的前八位和末八位交換,中間的十六位也同理互換
例如0xfabcde12,變換後為:12debcfa 用位運算實現,再控制輸出; 程式碼如下: #include <stdio.h> using namespace std; in
用遞迴的方法把一個無符號整數的每一位數字單獨寫出來,並且計算出每一位加起來的和。
這個題的具體含義是什麼呢? 例如: 給出一個無符號整數:1234 一千兩百三十四; 然後變成:1 2 3 4; 再把它們加起來:10; 所以很簡單的一道題,但是我們要用遞迴的思想寫
輸入一個無符號整數,用最少的步驟將該數變為1
輸入一個無符號整數n,用最少的步驟將該數變為1,當n為偶數時可以採取的步驟是除2的形式,當n為奇數的時候可以採取加1或者減1的操作。 #include <math.h> #include
給40億個不重複的無符號整數,沒排過序。給一個無符號整數,如何快速判斷一個數是否在這40億個數中。 【騰訊】
40億佔多少個位元組:4G 10個億需要1G 一個整型需要4個位元組,40億個則需要16G 由於如果我們直接使用這種方式去儲存需要16個G顯然這是不可能的,因此我們需要用到下面的方式去儲存,採用點陣圖 我們用一個Bit位去標識一個數存在還是不存在 我們
關於把一個無符號數的二進位制位翻轉的兩種實現方法
#include <stdlib.h> #include <stdio.h> #include <math.h> unsigned int reserve_bit(u
計算一個無符號整數的二進位制中0和1的個數
x=x|(x+1) 的作用是每次迴圈把x的二進位制中從右往左數的最後一位0變成1,直道變成全1的時候x+1就溢位為全0,迴圈結束。 x=x&(x-1) 的作用是
雜湊變形—點陣圖(給定40億個不重複的無符號數整數,沒排過序,給一個無符號整數,如何快速判斷一個數是否在這40億個數中)
#include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> typedef struct BitMap { size_t* _bits
把一個無符號16bit的數像鏡面反射一樣顛倒一下
value static 使用 stat sta ati ide ont inter 下面這個函數是把一個無符號16bit的數像鏡面反射一樣顛倒一下。 該函數是NXP(飛思卡爾)的 S32DS IDE中提供的SDK中的一個官方代碼: 1 static inline ui
二十四進制編碼串轉換為32位無符號整數(C語言實現)
bool while open 參數錯誤 hint div 第一個字符 bsp opened typedef int BOOL; #define TRUE 1; #define FALSE 0; #define UINT_MAX 0xffffffff
【程式設計之美】任意給定一個32位無符號整數n,求n的二進位制表示中1的個數
任意給定一個32位無符號整數n,求n的二進位制表示中1的個數,比如n = 5(0101)時,返回2,n = 15(1111)時,返回4。這也是一道比較經典的題目了,相信不少人面試的時候可能遇到過這道題吧,我今天就遇到了,當時懵了。現在想想多簡單,浪費了一次機會。 1.普通法
有符號整數比較v.s.無符號整數比較
內存 read symbols span 技術分享 unsigned -1 core dump assembler 本文嘗試從匯編的角度給出有符號整數比較與無符號整數比較的區別所在。 在《深入理解計算機系統》(英文版第二版)一書中的Page#77,有下面一個練習題: 將上述
高精度無符號整數演算法
高精度的寫法 我們為了方便後來的操作,可以先使用一個struct封裝內容物。 我們可以在宣告一個struct的時候自動宣告一個vector作為整體型別。 struct Wint:vector<int> { }; 我們可以寫一個建構函式 Wint(int n
輸入一個有符號整數,輸出該整數的反轉值
題目描述: 輸入123,輸出321 輸入-456,輸出-654 輸入200,輸出2 import java.util.Scanner; public class Reverse_print{ public static void main(String []
計算一個無符整數中bit位為1的個數
1.迴圈法(Iterated Count) int bitcount (unsigned int n) { int count=0; while (n) { count += n & 0x1u ; n >>= 1 ; } return count ;
2018迅雷校園招聘客戶端線上筆試B卷---輸入一個有符號整數,輸出該整數的反轉值。
2018迅雷校園招聘客戶端線上筆試B卷—輸入一個有符號整數,輸出該整數的反轉值。 題目描述: 輸入一個有符號整數,輸出該整數的反轉值。 程式碼如下: num = list(input())
判斷32位無符號整數二進位制中1的個數
1、比較簡單和容易理解的方法就是逐位比較法: #include <iostream> using namespace std; int findone(unsigned int n) { for(int i=0;n>0;n>>=1)
有符號整數、無符號整數的轉換以及小資料轉換為大資料
1.有符號轉換為無符號的整數的規則: unsigned int MySystem::T2U(int x) { if (x >= 0) { return x; } return UIN
求無符號整數二進位制表示中1的個數
簡單粗暴的方法: 和1取與,計數然後移位。 int OnesNumber(unsigned int n) { int count = 0; while(n!=0) { if(n&1==1)//末尾是否為1 count
無符號整數和有符號整數比較的注意點
無符號整數和有符號整數比較注意 如果有符號整數是負數,則和無符號整數比較時結果錯誤。 尤其注意陣列的count和一個有符號整數比較這種情況。 NSUInteger x = 1; NSInteger y = -1; if(x>y){
反序輸出四位無符號整數
輸入一個四位無符號整數,反序輸出這四位數。例如,輸入1234,輸出為4321。 程式執行結果如下: 輸入:1234輸出: 4321分析:程式碼複雜度最低的方法:讀入字串,倒序輸出 思維複雜度最低的方法:膜#include<iostream> usin