Content deleted Content added
(One intermediate revision by the same user not shown) | |||
Line 139:
:For Integer Underflow, it is hard to talk about ambiguous terminology, which is the section. It is almost impossible to find a quality citation for a made-up erroneous dubious term. This section is still improved over the last version that said, ~ Integer Underflow must be a thing because we found it in the following 6 citations. The citations of which included no definitions and blogs. I'd be more than happy to write a blog article so I can cite it, but what a petty thing to do.
:.NET isn't a vender. It is a valid enough citation for a "typically and alias". This table was previous was a list without any citations listing the typical ranges. I added some alias to also highlight the difference between bytes, sbyte, int, and uint. The reason I chosen the .NET reference is because of the book Framework Design Guidelines ed.2 that outlines the debate of creating universal naming of said types. I find the request to refine an possible Alias because it isnt in c/c++ a bit narrow minded. Especially, when c/c++ is a much older language that only has a subset of what modern languages have. There are plenty of other citations out there like, https://users.cs.utah.edu/~germain/PPS/Topics/unsigned_integer.html but I felt that table was already heavy with citations. [[Special:Contributions/24.112.251.203|24.112.251.203]] ([[User talk:24.112.251.203|talk]]) 06:08, 21 June 2025 (UTC)
:: I stand by everything I wrote (except that "vendor" was a wrong word choice). I taught the basics of computer architecture for more than 40 years, which suggests that I'm not totally ignorant on the subject.
::* (-4)+(-4) is not 1000 0100 + 1000 0100 in twos-complement. It is 1111 1100 + 1111 1100. (Your words "the remaining least significant bits represent the number" are only true in an indirect sense.) When these are added as 8-bit binary numbers, a carry into the sign bit occurs, and a carry out of the sign bit also occurs (but is discarded). Because those two carries are the same, no signed overflow has occurred. The result is 1111 1000 (-8) with the unsigned overflow flag set and the signed overflow flag unset. Your description and your example are both wrong.
::* "The ALU is stupid and I am trying to outline it's limitations." is not helpful. The ALU does exactly what its designers want it to do. They could have implemented separate signed and unsigned ADD instructions, but they chose to implement one instruction that does both signed and unsigned addition at the same time. '''The output from the instruction is not just the bits in the register but also the flags.''' That's not a limitation at all. The data bits plus the flags in fact indicate the full exact results of both signed and unsigned addition. In the case of operations like multiplication, the combination of signed and unsigned operations into a single instruction is impractical, so separate instructions are provided.
::* "sbyte" is a C#/.NET type name, and vbnet has "SByte". It is not a standard type name in C, C++, Java, Rust, Go, or Python. Both old and new languages there. It is misleading to present the name as if it is something more general. Similarly with some of the other type names. People who want to know C#/.NET conventions can go to those pages.
::* No, you can't cite your own blog articles unless they have your real name on them and you are an established subject matter expert, see [[WP:BLOGS]].
::* Overall this page needs a major refresh. When I find the time I will do that. [[User:Zero0000|Zero]]<sup><small>[[User_talk:Zero0000|talk]]</small></sup> 13:55, 21 June 2025 (UTC)
|