hairinmybellybutt@lemmy.world to Programmer Humor@lemmy.mlEnglish · 9 months agocountinglemmy.worldimagemessage-square44fedilinkarrow-up1416
arrow-up1389imagecountinglemmy.worldhairinmybellybutt@lemmy.world to Programmer Humor@lemmy.mlEnglish · 9 months agomessage-square44fedilink
minus-squareDestide@feddit.uklinkfedilinkEnglisharrow-up1·9 months agoHaaaaaang on is that why we start on 0…
minus-squaremacniel@feddit.delinkfedilinkarrow-up5·9 months agoNo. We count start at zero because the array already starts with an element of a specific size. Starting at 1 would always skip that initial element.
minus-squareCanadaPlus@futurology.todaylinkfedilinkEnglisharrow-up8·edit-29 months agoYou could have “empty arrays” in a language if you wanted. The real reason is that you start with an offset of zero as you read an array from memory at hardware level, and so this way address is just “start address + element size * element number”.
minus-squareBorgDrone@lemmy.onelinkfedilinkarrow-up4·edit-29 months agoNo, we start counting at one. We start indexing at zero. An array with one element has an element count of 1, and that element would be at index 0.
minus-squareLaggyKar@programming.devlinkfedilinkarrow-up3·9 months agoThis is how we end up with off-by-one errors
minus-squareLazaroFilm@lemmy.worldlinkfedilinkEnglisharrow-up1arrow-down1·9 months agoBecause if you convert it back to binary, you have 0x0000 and that is one extra bit you can use instead of limiting your available values.
Haaaaaang on is that why we start on 0…
No. We count start at zero because the array already starts with an element of a specific size. Starting at 1 would always skip that initial element.
You could have “empty arrays” in a language if you wanted. The real reason is that you start with an offset of zero as you read an array from memory at hardware level, and so this way address is just “start address + element size * element number”.
No, we start counting at one. We start indexing at zero.
An array with one element has an element count of 1, and that element would be at index 0.
This is how we end up with off-by-one errors
Because if you convert it back to binary, you have 0x0000 and that is one extra bit you can use instead of limiting your available values.