1. 程式人生 > >移位實現除法(除數不是2的冪次方)

移位實現除法(除數不是2的冪次方)

#include <stdio.h>
#include <stdlib.h>
int Division(int y,int x)
{
	int sum=0; 
	int i=0;
	while(y>x)//向左移位直到x>=y
	{
		x=x<<1;
		++i;//記錄左移的次數
	}
	x=x>>1; //使x<=y
	 --i;
	while(i >= 0)
	{
		if(y >= x)
		{
			sum += 1<<i;
			y -= x;
		}
		x = x>>1;
		--i;
	}
	return sum;
}
void main()
{   
	printf("the result is :"); 
	printf("%d",Division(90,5));
	getchar();

	
}

相關推薦

移位實現除法除數2次方

#include <stdio.h> #include <stdlib.h> int Division(int y,int x) { int sum=0; int i=0; while(y>x)//向左移位直到x>=y {

js 陣列元素值屬性一致 實現平均分歡迎支援別樣簡單解法

舉例:let resArr = [{'name':'p1',scores:[{'a1':15},{'a2':25},{'a3':38},{'a4':45},{'a5':51},{'a6':63},{'a7':73},{'a8':81},{'a9':29},{'a10':10}]},{'name':'

輾轉相除法歐幾里得演算法java實現

輾轉相除法,又叫歐幾里得演算法,是用以計算兩個非負整數的最大公約數,在數學課本上是見過了,程式又是怎樣實現的。其實,只需4行。 計算兩個非負整數 p 和 q 的最大公約數:若q 是 0,則最大公約數為

Spring-boot 之 Swagger2打造一樣的api

plugin itl pid 研究 ssa any cati plugins ast 一、Swagger2是什麽? Swagger 是一款RESTFUL接口的文檔在線自動生成+功能測試功能軟件。 Swagger 是一個規範和完整的框架,用於生成、描述、調用和可視化 RE

OpenLDAP學習筆記基於OpenLDAP-2.4.x

ldap slapd 同步 1.1、什麽是目錄服務(Directory Services)? 目錄是一個特殊的數據庫,專門用於搜索和瀏覽,另外也支持基本的查詢和更新功能。 目錄是一個為查詢、瀏覽和搜索而優化的專業分布式數據庫,它呈樹狀結構組織數據,就好象Linux/Unix系統中的文件

ArcGIS Enterprise 10.5.1 靜默安裝部署記錄Centos 7.2 minimal版- 2、安裝Portal for ArcGIS

-a 切換 https stop user 安裝 執行 limits 方式 安裝Portal for ArcGIS 解壓portal安裝包,tar -xzvf Portal_for_ArcGIS_Linux_1051_156440.tar.gz 切換到arcgis賬戶靜

ArcGIS Enterprise 10.5.1 靜默安裝部署記錄Centos 7.2 minimal版- 3、安裝 ArcGIS for Server

切換 驗證 裝包 start dap sof 訪問權限 tar 服務 安裝ArcGIS for Server 解壓server安裝包,tar -xzvf ArcGIS_Server_Linux_1051_156429.tar.gz 切換到arcgis賬戶靜默安裝serv

ArcGIS Enterprise 10.5.1 靜默安裝部署記錄Centos 7.2 minimal版- 1、安裝前準備

計算機 boot thread connect conf 1.8 div 導入 top 安裝前準備 上傳文件到服務器,x-ftp xshell登陸Centos 檢查機器名 修改機器名為:portal.cloud.local 方法一:零時設置,重啟後失效,

iteye新聞熱點月刊總第60期2013年2月版發布了

mdi 發布 mtu odi odm mdk .com dex mtk 2014%E5%B9%B48%E5%A4%A7%E7%A7%91%E6%8A%80%E6%BD%AE%E6%B5%81 http://www.zcool.com.cn/collection/ZMTY5

大數除法lld最多19位

nbsp 需要 can turn 整數 strcmp() break 去除 TE 大數除法的核心:把除法運算轉化為減法運算,根據除法運算的特點, 有兩個大整數a和b,當a==b時,a/b==1,余數是0。(a!=0,b!=0)

基於Vue2.0的音樂播放器——歌手模塊到數據

分享圖片 header sig highlight func conf java tdi pro 來這裏的都可能在看,慕課網vue2.0 的音樂播放器的相關頁面,如果使用視頻介紹的方法,相當於現在來說是獲取數據回報如下的錯誤: {code: -500001, ts: 15

新版火狐瀏覽器61.0.2 (64 位)如何進行元素定位

com 恢復 分享 http bubuko 一個 src 開始 選擇 ---恢復內容開始--- 我們在寫自動化腳本進行web測試時,經常會用到元素定位,之前我們用的都是Firebug+Firepath,但瀏覽器總要更新的,所以就有了這篇筆記,新版的火狐瀏覽器整合掉了這兩個小

Springboot中Aspect實現切面以記錄日誌為例

前言今天我們來說說spring中的切面Aspect,這是Spring的一大優勢。面向切面程式設計往往讓我們的開發更加低耦合,也大大減少了程式碼量,同時呢讓我們更專注於業務模組的開發,把那些與業務無關的東西提取出去,便於後期的維護和迭代。 好了,廢話少說!我們直接步入正題 以系統日誌為例首先,我們先做一些準

雙棧實現整數支援大於十的整數計算器【資料結構】

通過棧的操作實現簡單的計算器 首先定義兩個棧,一個叫s_num用來存放運算元,另一個叫s_opt用來存放操作符。 再定義一個字元陣列用來存放輸入的表示式,初始化為0; 當表示式的字元不為‘/0’時,或者操作符棧中不為空的時候,就要一直執行程式! 在執行的時候做兩個判斷,輸入的不是數字

【程式設計筆記】執行緒池實現原始碼從POCO中剝離出來

原始碼下載:https://download.csdn.net/download/fzuim/10625204 CThreadPool類 /***************************************************************

linux_資料夾實現掛載必須在同一網段

將外部想要掛載傳輸的目錄開啟共享資料夾 首先進行安裝 yum install nfs-utils rpcbind yum install nfs* 建立想要掛載的目錄 檢視可以執行掛載的目錄有哪些 showm

centos6.9 升級glibc升級到 2.17版

config build ins -- add conf version 成功 with 原系統centos6.9自帶GLIBC_2.12,安裝一些軟體提示版本不對,決定升級。 wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar

壓縮備份資料庫與網站資料mysql停止的方法簡易實用BAT

@echo off::Author: jerry::Date:2018-11-20echo.echo MySQL資料庫及網站程式備份指令碼echo echo Author: jerryecho Date:2018-11-20echo 備份日期:%date%echo 備份時間:%time%echo.echo s

壓縮備份數據庫與網站數據mysql停止的方法簡易實用BAT

mys lims 分享圖片 src bak 壓縮 圖片 type process @echo off::Author: jerry::Date:2018-11-20echo.echo MySQL數據庫及網站程序備份腳本echo echo Author: jerryecho

Ubuntu VNC 開啟spyder無法輸入檢測到鍵盤配置解決方法

在ubuntu中安裝好spyder後, 開啟spyder發現無法輸入。 在開啟spyder的終端視窗,有如下提示: QXcbConnection: Failed to initialize XRandr Qt: XKEYBOARD extension not present on the