第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么使用模數(shù)時(shí)C ++輸出負(fù)數(shù)?

為什么使用模數(shù)時(shí)C ++輸出負(fù)數(shù)?

C++
qq_笑_17 2019-10-31 14:09:14
數(shù)學(xué):如果您有這樣的方程式:x = 3 mod 7x可以是... -4、3、10、17 ...或更一般地:x = 3 + k * 7其中k可以是任何整數(shù)。我不知道為數(shù)學(xué)定義了模運(yùn)算,但是因子環(huán)當(dāng)然是。Python:在Python中,%與正數(shù)一起使用時(shí),您總是會(huì)得到非負(fù)值m:#!/usr/bin/python# -*- coding: utf-8 -*-m = 7for i in xrange(-8, 10 + 1):    print(i % 7)結(jié)果是:6    0    1    2    3    4    5    6    0    1    2    3    4    5    6    0    1    2    3C ++:#include <iostream>using namespace std;int main(){    int m = 7;    for(int i=-8; i <= 10; i++) {        cout << (i % m) << endl;    }    return 0;}將輸出:-1    0    -6    -5    -4    -3    -2    -1    0    1    2    3    4    5    6    0    1    2    3    ISO / IEC 14882:2003(E)-5.6乘法運(yùn)算符:二進(jìn)制/操作員產(chǎn)生的商,和二進(jìn)制%操作者產(chǎn)生了由第二所述第一表達(dá)的除法的余數(shù)。如果/或%的第二個(gè)操作數(shù)為零,則行為不確定。否則(a / b)* b + a%b等于a。如果兩個(gè)操作數(shù)均為非負(fù)數(shù),則其余為非負(fù)數(shù);如果不是,則其余的符號(hào)由實(shí)現(xiàn)定義74)。和74)根據(jù)對(duì)ISO C進(jìn)行修訂的工作,整數(shù)除法的首選算法遵循ISO Fortran標(biāo)準(zhǔn)ISO / IEC 1539:1991中定義的規(guī)則,其中商總是四舍五入。資料來(lái)源:ISO / IEC 14882:2003(E)(我找不到的免費(fèi)版本ISO/IEC 1539:1991。有人知道從何處獲得它嗎?)該操作似乎是這樣定義的:在此處輸入圖片說(shuō)明問(wèn)題:這樣定義它是否有意義?此規(guī)范的參數(shù)是什么?制定這樣的標(biāo)準(zhǔn)的人是否有討論的地方?在哪里可以閱讀有關(guān)他們決定采用這種方式的原因的一些信息?在大多數(shù)情況下,當(dāng)我使用模數(shù)時(shí),我想訪問(wèn)數(shù)據(jù)結(jié)構(gòu)的元素。在這種情況下,我必須確保mod返回一個(gè)非負(fù)值。因此,對(duì)于這種情況,最好始終將mod返回非負(fù)值。(另一種用法是歐幾里得算法。由于在使用此算法之前可以使兩個(gè)數(shù)字均為正數(shù),所以取模的符號(hào)很重要。)附加材料:有關(guān)不同語(yǔ)言的模運(yùn)算的詳細(xì)列表,請(qǐng)參見(jiàn)Wikipedia。
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

在x86(和其他處理器體系結(jié)構(gòu))上,整數(shù)除法和模是通過(guò)單個(gè)操作idivdiv對(duì)于無(wú)符號(hào)值)執(zhí)行的,該操作會(huì)產(chǎn)生商和余數(shù)(分別針對(duì)in AX和in的字長(zhǎng)參數(shù)DX)。C庫(kù)函數(shù)中使用了該函數(shù)divmod,編譯器可以將其優(yōu)化為單個(gè)指令!

整數(shù)除法遵守兩個(gè)規(guī)則:

  • 非整數(shù)商將舍入為零;和

  • dividend = quotient*divisor + remainder結(jié)果滿足了方程式。

因此,當(dāng)將負(fù)數(shù)除以正數(shù)時(shí),商將為負(fù)(或零)。

因此,這種行為可以看作是一系列本地決策的結(jié)果:

  • 處理器指令集設(shè)計(jì)針對(duì)較普通情況(模)優(yōu)化了普通情況(除法);

  • 一致性(四舍五入并遵守除法方程)比數(shù)學(xué)正確性更可??;

  • C更喜歡效率并且要簡(jiǎn)單(特別是傾向于將C視為“高級(jí)匯編程序”);和

  • C ++更喜歡與C兼容。


查看完整回答
反對(duì) 回復(fù) 2019-10-31
?
Smart貓小萌

TA貢獻(xiàn)1911條經(jīng)驗(yàn) 獲得超7個(gè)贊

此規(guī)范的參數(shù)是什么?


C ++的設(shè)計(jì)目標(biāo)之一是有效地映射到硬件。如果底層硬件以產(chǎn)生負(fù)余數(shù)的方式實(shí)現(xiàn)除法,那么這就是%在C ++中使用時(shí)得到的結(jié)果。真的就是全部。


制定這樣的標(biāo)準(zhǔn)的人是否有討論的地方?


您將在comp.lang.c ++。moderated上找到有趣的討論,并在較小程度上找到comp.lang.c ++


查看完整回答
反對(duì) 回復(fù) 2019-10-31
  • 3 回答
  • 0 關(guān)注
  • 750 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)