{"id":40,"date":"2022-05-16T19:07:15","date_gmt":"2022-05-16T18:07:15","guid":{"rendered":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/?page_id=40"},"modified":"2022-05-16T19:07:15","modified_gmt":"2022-05-16T18:07:15","slug":"two-complement-to-denary","status":"publish","type":"page","link":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/two-complement-to-denary\/","title":{"rendered":"Two Complement to Denary"},"content":{"rendered":"<p><span data-contrast=\"auto\">Before doing anything, we need to decide if the two\u2019s complement is a positive or negative number.<\/span><\/p>\n<p><span data-contrast=\"auto\">Firstly you need to look at the most significant bit (the leftmost bit); if it is a 0 then it is positive and simply convert the number to decimal. For example:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><span data-contrast=\"auto\">128<\/span><\/td>\n<td><span data-contrast=\"auto\">64<\/span><\/td>\n<td><span data-contrast=\"auto\">32<\/span><\/td>\n<td><span data-contrast=\"auto\">16<\/span><\/td>\n<td><span data-contrast=\"auto\">8<\/span><\/td>\n<td><span data-contrast=\"auto\">4<\/span><\/td>\n<td><span data-contrast=\"auto\">2<\/span><\/td>\n<td><span data-contrast=\"auto\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td><span data-contrast=\"auto\">0<\/span><\/td>\n<td><span data-contrast=\"auto\">0<\/span><\/td>\n<td><span data-contrast=\"auto\">1<\/span><\/td>\n<td><span data-contrast=\"auto\">0<\/span><\/td>\n<td><span data-contrast=\"auto\">0<\/span><\/td>\n<td><span data-contrast=\"auto\">1<\/span><\/td>\n<td><span data-contrast=\"auto\">0<\/span><\/td>\n<td><span data-contrast=\"auto\">1<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span data-contrast=\"none\">Because the leftmost bit is a 0<\/span><span data-contrast=\"auto\">\u00a0then we know the number is positive so we simply add <\/span><\/p>\n<p><span data-contrast=\"auto\">32 + 4 + 1 = +37.<\/span><\/p>\n<h2 style=\"color: red\"><b><span data-contrast=\"auto\">Negative two\u2019s complement number<\/span><\/b><\/h2>\n<p><span data-contrast=\"auto\">If the most significant bit<\/span><span data-contrast=\"none\">\u00a0(the leftmost bit); is a 1<\/span><span data-contrast=\"auto\">\u00a0then we have to convert the number to a positive number then work out the denary equivalent.\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You do this in exactly the same way you converted a positive number to negative i.e.<\/span><\/p>\n<ol>\n<li data-aria-posinset=\"1\" data-aria-level=\"2\"><span data-contrast=\"auto\">invert all the bits (so a 1 becomes a 0 and a 0 becomes a 1)<\/span><\/li>\n<li data-aria-posinset=\"2\" data-aria-level=\"2\"><span data-contrast=\"auto\">then add 1<\/span><\/li>\n<li data-aria-posinset=\"3\" data-aria-level=\"2\"><span data-contrast=\"auto\">convert to denary.<\/span><\/li>\n<\/ol>\n<h2 style=\"color: red\">Example<\/h2>\n<p><span data-contrast=\"auto\">Convert the two\u2019s complement binary number 11111011 to denary.<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<p style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><span data-contrast=\"auto\">28<\/span><\/p>\n<\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">64<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">32<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">16<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">8<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">4<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">2<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">0<\/span><\/td>\n<td style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/td>\n<td>\n<p style=\"text-align: center\"><span data-contrast=\"auto\">1<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span data-contrast=\"auto\">Because the most significant bit is a 1, we know it is a negative number therefore we need to convert it to a positive number first.<\/span><\/p>\n<p><span data-contrast=\"auto\">Change all the\u00a0<\/span><b><span data-contrast=\"auto\">1<\/span><\/b><span data-contrast=\"auto\">\u2019s to\u00a0<\/span><b><span data-contrast=\"auto\">0<\/span><\/b><span data-contrast=\"auto\">\u00a0and\u00a0<\/span><b><span data-contrast=\"auto\">0<\/span><\/b><span data-contrast=\"auto\">\u2019s to\u00a0<\/span><b><span data-contrast=\"auto\">1<\/span><\/b><span data-contrast=\"auto\">.<\/span><\/p>\n<p><b><span data-contrast=\"auto\">0 0 0 0 0 1 0 0<\/span><\/b><\/p>\n<p><span data-contrast=\"auto\">Add 1.<\/span><\/p>\n<p><span data-contrast=\"auto\">0 0 0 0 0 1 0 0<\/span><br \/>\n<span data-contrast=\"auto\">0 0 0 0 0 0 0<\/span><b><span data-contrast=\"auto\">\u00a01 +<\/span><\/b><br \/>\n<b><span data-contrast=\"auto\">0 0 0 0 0 1 0 1<\/span><\/b><\/p>\n<p><span data-contrast=\"auto\">So\u00a0<\/span><b><span data-contrast=\"auto\">00000101\u00a0<\/span><\/b><span data-contrast=\"auto\">as Two\u2019s Complement =\u00a0<\/span><b><span data-contrast=\"auto\">-5<\/span><\/b><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Before doing anything, we need to decide if the two\u2019s complement is a positive or negative number. Firstly you need to look at the most significant bit (the leftmost bit); if it is a 0 then it is positive and simply convert the number to decimal. For example: 128 64 32 16 8 4 2 [&hellip;]<\/p>\n","protected":false},"author":79984,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-40","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/users\/79984"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/comments?post=40"}],"version-history":[{"count":1,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/40\/revisions"}],"predecessor-version":[{"id":41,"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/pages\/40\/revisions\/41"}],"wp:attachment":[{"href":"https:\/\/blogs.glowscotland.org.uk\/glowblogs\/phshighercomputingscience\/wp-json\/wp\/v2\/media?parent=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}