>

S

shiv_emf

Guest
HII chlapi ...Jsem zmaten Levý Shift operátora ...

Předpokládám, že jsem odešel přesouvá ČÍSLO .. bude ve znamení změn číslo?
Například ...
Předpokládám, že pro proměnnou typu integer ...Velikost celého čísla je 4bytes THT je 32 bitů

Systém Fallows 2 je doplněk reprezentaci ...pokud v posunu smalllest záporné číslo ... Jaký bude výsledek?

 
Ahoj shiv_emf ...

V C, je-li vaše proměnná je podepsána, signál bude prodloužena, ale pokud thew proměnná je nepodepsaná, kompilátor automatické vyplňování nulou.Je to vaše pochybnosti?Doufám, že jsem byl užitečný

 
hej díky za odpověď UR!

ale
int x;

Toto tvrzení je podepsán integer ...kdybych leftshift to THT je
100000000000000000000000000 (1 v MSB a 31 "nula")
wht bude výstup?
to je nula, nebo stejný počet jako ..podepsané bit shud nt změnit

 
je lepší si platnost nulové inicializační.například

int x = 0;

x = x <<31;

Výstup je x = 0;

jestliže
x = 1;
x = x <<31;
pak

x = 0x80000000;

bylo to jasné?je lepší ke spuštění int.Použijete-li unsigned int jeho automatcally nula inicializována.

 
další

v případě záporné číslo !!....Systém ukládá tyto hodnoty ve 2 je doplněk

Nyní, pokud u leftshift variabilní .....bude podepsána BIT změny??

Doufám, že jsem jasně hned

 
Ahoj shiv_emf, díky za "Pomáhal".Bylo mi potěšením.

Nyní, pokud vaše proměnná, která byla podepsána, je negativní a vlevo posun, signál bude kepted.Je to stejné, os to je instrukce v ASM, která se otáčejí vlevo vedení signálu.Bylo to jasné?

 
Musíte být opatrní na tento jeden..

Právo posuny jsou závislé na provedení.To znamená, že budete muset vyhledat, jak se vaše překladač zachází podepsal právo posun s záporných hodnot.Mohlo by to být buď logický posun (ztratíte znaménkový bit, a stává se 0) nebo aritmetický posun (značka bit je veden).

Vše Microsoft překladače použití aritmetické posuny.

Nejjednodušší způsob, jak říct, je napsat nějaký test kód a nastavit int do záporné hodnoty, právo na směny to jeden a používat debugger se podívat na výsledek.

 
příjemný jeden ...Díky za pomoc

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsměv" border="0" />dobře jsem pracovat na RedHat Linux OS ...pomocí GCC

tak i hav do chk to ..

 
shiv_emf napsal:

dalšív případě záporné číslo !!....
Systém ukládá tyto hodnoty ve 2 je doplněkNyní, pokud u leftshift variabilní .....
bude podepsána BIT změny??Doufám, že jsem jasně hned
 
Verilog 2001 vymezila>>> a <<<pro podepsána řazení operací.
-
Amr Ali

 

Welcome to EDABoard.com

Sponsor

Back
Top