国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言每日一題(5):求兩個數(shù)二進制中不同位的個數(shù)

這篇具有很好參考價值的文章主要介紹了C語言每日一題(5):求兩個數(shù)二進制中不同位的個數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

C語言每日一題(5):求兩個數(shù)二進制中不同位的個數(shù),C語言每日一題,c語言,開發(fā)語言,學習C語言每日一題(5):求兩個數(shù)二進制中不同位的個數(shù),C語言每日一題,c語言,開發(fā)語言,學習


  • 文章主題:求兩個數(shù)二進制中不同位的個數(shù)??
  • 所屬專欄:C語言每日一題??
  • 作者簡介:每天不定時更新C語言的小白一枚,記錄分享自己每天的所思所想????
  • 個人主頁:[?]的個人主頁????


前言

編程起因

最近剛學位操作符以及二進制碼的相關知識,于是想出了求兩個數(shù)二進制中不同位的個數(shù)這道題加深一下自己對于這方面的理解。

項目介紹

設計了一個求兩個數(shù)二進制中不同位的個數(shù)的項目。


設計思路

1.整體邏輯

方法一用常規(guī)做法每一位進行比較不同計數(shù)器就加一來得出兩二進制位種不同位的個數(shù),方法二則是利用按位與的特性(不同位相異則該位為其兩位的差值1,相同也是為兩位的差值0,原理類似于數(shù)學中的按位求絕對值在賦值到該位上??),再用C語言每日一題第3天的知識(Count_1()函數(shù)設計),調(diào)用那個函數(shù)的三種方法之一,或者自己再在該項目中設計出那三種方法,即可對該題進行完美求解。

2. 具體邏輯

與代碼展示中的邏輯相同這里不作過多解釋。


代碼展示

方法一 :遍歷兩二進制碼位來比較不同(常規(guī)做法)

#include <stdio.h>
int main()
{
	int n1 = 0, n2 = 0;
	printf("Please enter two numbers:\n");
	scanf("%d%d", &n1, &n2);
	int count = 0;
	for (int bits = 0; bits <= 32; bits++)
	{
		if (((n1 >> bits) & 1) != ((n2 >> bits) & 1))//遍歷二進制碼位數(shù)
		                                             //比較兩位是否不同
		{
			count++;//如若不同則計數(shù)器加一
		}
	}
	printf("The number of different bits in two binary sequences:\n");
	printf("%d", count);
	return 0;
}

方法二 :巧用異或(難度較高)

#include <stdio.h>
int main()
{
	int n1 = 0, n2 = 0, n = 0;
	printf("Please enter two numbers:\n");
	scanf("%d%d", &n1, &n2);
	n = n1 ^ n2;//按位異或,將兩二進制碼位按位異惑,不同位按位與后會變成
	            //1相同位則為0,再用第3天的Count_1()函數(shù)的方法計算出每
	            //位中1的個數(shù)(所以用這種方法的話實際上還可以劃分出同
	            //一思路不同取1做法的3種小方法,讀者可自行去結合第3天
	            //Count_1()的做法遷移運用一下,在這不作過多贅述)
	int count = 0;
	for (int bits = 0; bits <= 32; bits++)//計算1的方法:第3天Count_1()
	                                      // 函數(shù)方法一
	{
		if (((n >> bits) & 1) == 1)
		{
			count++;
		}
	}
	printf("The number of different bits in two binary sequences:\n");
	printf("%d", count);
	return 0;
}

效果展現(xiàn)

C語言每日一題(5):求兩個數(shù)二進制中不同位的個數(shù),C語言每日一題,c語言,開發(fā)語言,學習


結語

以上就是我對求兩個數(shù)二進制中不同位的個數(shù)這個項目的解題思路,代碼以及效果展示,希望對你的C語言學習有所幫助!作為剛學編程的小白,可能在一些設計邏輯方面有些不足,歡迎評論區(qū)進行指正!看都看到這了,點個小小的贊或者關注一下吧(當然三連也可以~),你的支持就是博主更新最大的動力!讓我們一起成長,共同進步!文章來源地址http://www.zghlxwxcb.cn/news/detail-731812.html


到了這里,關于C語言每日一題(5):求兩個數(shù)二進制中不同位的個數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【LeetCode - 每日一題】1073. 負二進制數(shù)相加 (2023.05.18)

    基數(shù)為 -2 。 實現(xiàn)兩個 0/1 數(shù)組串的加法。 這是一道模擬題。 設 arr1[i] 和 arr2[i] 是數(shù)組 arr1 和 arr2 從低到高的第 i 位數(shù)。 首先回顧普通的二進制數(shù)的相加,從低位開始計算,在計算的同時維護用一個變量 carry 維護進位信息,因此,對于第 i 位的結果 ans[i] = arr1[i] + arr2[i] + c

    2024年02月05日
    瀏覽(18)
  • 【C語言】宏實現(xiàn)一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換

    【C語言】宏實現(xiàn)一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換

    要寫一個宏實現(xiàn)將一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換,我們首先要分析如何將一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換 以下以整數(shù)7為例 7的二進制: 0000 0000 0000?0000 0000 0000?0000 0111?? 7 奇數(shù)位與偶數(shù)位交換后為: 0000 0000 0000?0000 0000 0000?0000 1011? 11 ??分析: 交換

    2024年02月05日
    瀏覽(91)
  • 2023-06-14 LeetCode每日一題(二進制字符串前綴一致的次數(shù))

    點擊跳轉(zhuǎn)到題目位置 給你一個長度為 n 、下標從 1 開始的二進制字符串,所有位最開始都是 0 。我們會按步翻轉(zhuǎn)該二進制字符串的所有位(即,將 0 變?yōu)?1)。 給你一個下標從 1 開始的整數(shù)數(shù)組 flips ,其中 flips[i] 表示對應下標 i 的位將會在第 i 步翻轉(zhuǎn)。 二進制字符串 前綴

    2024年02月08日
    瀏覽(98)
  • 2023-5-26 LeetCode每日一題(二進制矩陣中的最短路徑)

    點擊跳轉(zhuǎn)到題目位置 給你一個 n x n 的二進制矩陣 grid 中,返回矩陣中最短 暢通路徑 的長度。如果不存在這樣的路徑,返回 -1 。 二進制矩陣中的 暢通路徑 是一條從 左上角 單元格(即,(0, 0))到 右下角 單元格(即,(n - 1, n - 1))的路徑,該路徑同時滿足下述要求: 路徑途

    2024年02月06日
    瀏覽(91)
  • (位運算) 1356. 根據(jù)數(shù)字二進制下 1 的數(shù)目排序 ——【Leetcode每日一題】

    (位運算) 1356. 根據(jù)數(shù)字二進制下 1 的數(shù)目排序 ——【Leetcode每日一題】

    難度:簡單 給你一個整數(shù)數(shù)組 arr 。請你將數(shù)組中的元素按照其二進制表示中數(shù)字 1 的數(shù)目升序排序。 如果存在多個數(shù)字二進制中 1 的數(shù)目相同,則必須將它們按照數(shù)值大小升序排列。 請你返回排序后的數(shù)組。 示例 1: 輸入 :arr = [0,1,2,3,4,5,6,7,8] 輸出 :[0,1,2,4,8,3,5,6,7] 解釋

    2024年02月12日
    瀏覽(89)
  • c語言:用一個宏,可以將一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換。

    c語言:用一個宏,可以將一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換。

    ? ? ? ? ? ? ? ? ?用一個宏,可以將一個整數(shù)的二進制位的奇數(shù)位和偶數(shù)位交換。 如:01,是1,交換完是10,是2. ? ? ? ? ? ? ? ? ? ? ? 舉個例子:1001 0110? ? ? ? ? ? ? ? ? ? ? ? ? 1001 0110 ? ? ? ? 奇數(shù)位上的數(shù)字是 ? ? 1 0 0 1 0 1 1 0? ? ? ? ? ?? ? 偶數(shù)位 ? ? 1 0 0

    2024年01月19日
    瀏覽(638)
  • 【每日一題Day218】LC1091 二進制矩陣中的最短路徑 | BFS

    你駕駛出租車行駛在一條有 n 個地點的路上。這 n 個地點從近到遠編號為 1 到 n ,你想要從 1 開到 n ,通過接乘客訂單盈利。你只能沿著編號遞增的方向前進,不能改變方向。 乘客信息用一個下標從 0 開始的二維數(shù)組 rides 表示,其中 rides[i] = [starti, endi, tipi] 表示第 i 位乘客

    2024年02月08日
    瀏覽(87)
  • 漢明距離,兩個整數(shù)之間的 漢明距離 指的是這兩個數(shù)字對應二進制位不同的位置的數(shù)目。

    漢明距離,兩個整數(shù)之間的 漢明距離 指的是這兩個數(shù)字對應二進制位不同的位置的數(shù)目。

    題記: 兩個整數(shù)之間的 漢明距離 指的是這兩個數(shù)字對應二進制位不同的位置的數(shù)目。 給你兩個整數(shù) x 和 y,計算并返回它們之間的漢明距離。 示例 1: 輸入 :x = 1, y = 4 輸出 :2 解釋 : 1 (0 0 0 1) 4 (0 1 0 0) ------↑— ↑ 上面的箭頭指出了對應二進制位不同的位置。 示例 2:

    2024年02月15日
    瀏覽(94)
  • Python每日一練(20230420) 數(shù)組逐位判斷、交錯字符串、二進制求和

    Python每日一練(20230420) 數(shù)組逐位判斷、交錯字符串、二進制求和

    目錄 1. 數(shù)組逐位判斷???? 2. 交錯字符串?????? 3. 二進制求和???? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 比如有以下數(shù)組: a1: 1,0,0,1,0,0,0,1 a2: 0,0,0,0,1,1,1,1 a3: 0,1,0,1,0,1,0,0 a4: 1,0,1,1,1,1,0,0 a5: ....... 抓取三個數(shù)

    2024年02月15日
    瀏覽(90)
  • C語言【進制轉(zhuǎn)換】35:輸出二進制補碼

    C語言【進制轉(zhuǎn)換】35:輸出二進制補碼

    總時間限制:? 1000ms 內(nèi)存限制:? 65536kB 描述 輸入一個整型(int)的整數(shù),輸出它的32位二進制補碼。 輸入 一個整型整數(shù)。 輸出 輸出一行,即該整數(shù)的補碼表示。 樣例輸入 樣例輸出 00000000000000000000000000000111 代碼實現(xiàn): 首先要明白 (按位與)和 (左移)的用法 規(guī)則: 11=1 10=

    2024年02月07日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包