Đang chuẩn bị liên kết để tải về tài liệu:
O’Reilly Mastering Perl 2007 phần 9

Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ

ác chuỗi định dạng NCA có một bức thư cho mỗi phần còn lại của các đối số và nói với gói làm thế nào để giải thích nó. N xử lý đối số của nó như là một unsigned mạng để dài. C xử lý đối số của nó như là một char unsigned, và A xử lý đối số của nó như một ký tự ASCII. | Unary NOT The unary NOT operator sometimes called the complement operator returns the bitwise negation or l s complement of the value based on integer size of the architecture. This meansit doesn t care what the sign of the numeric value is it just flips all the bits my value i obnil llll my Icouplesest i value . printf Complement of n t b nis n t b n value complement I see that even th oughl gavet tan bitvalue it comes back as a 32-bit value because my MacBook hat slut mtegere Complement of is 11011111 llllblllllllllbllllllliooiuoooiv That s not verynkioutput. I d like the values to line up properly. To do that I need the integer size. That s easy enough to get from the Perl configuration though see Chapter 11 . Theigtegertiztiiinbytes soimultiply by eight the value I get from Perl s configuration itl usreiOn ieog it compCibnt.pl use Confl lf my int_size Config int size 8 print Int sizeis int_size n my value obnil _1eg 1 my complement value printf ComplementofXnWe i nt_size b nis n t int_size b n value complement Now my values Irne up property ahhough I d like It even more if I could see the leading zeros. You canfigure thstoneoutonyourown Int size ÌS32 ComP il lmllii is 11111111111111111111111100000000 I also have to betarefulhow I use the result I get from a unary NOT. Depending on ei value in negae e e . when tptmt neotbtdwith tuitUf I see that I flipped all the bits and that the nigitive ue lb - greater in magnsvudo than thi positive one. Thas t b s e I t 0 t 8 This is one bld e few plioe i io Perl iohire So V diilpmg ob-chne lnn bhows Sds This depeiVs i thi integer size ofyour J ocessoi. 254 I Chapter ill WoiliogwilhBsSa two s complement thinking and I won t go into that here. However when I print the number with a plain ol print Perl treats it as an unsigned value so that bit flipping doesn t do anything to the sign for the numbers that started positive and it makes negafltiL h O1 SLSim Sltme usr bin perl unary-not.pl foreacymy XvsXua 65ti 1S8 5 65534 my .

TÀI LIỆU LIÊN QUAN