6 ms·
Unfortunately not :) On a given implementation of C, a pointer has some specific size (let's call it S). This means that we can address 2^S bytes of memory. Ea
by sakras 2y ago
Unfortunately not :)
On a given implementation of C, a pointer has some specific size (let's call it S). This means that we can address 2^S bytes of memory. Each byte has CHAR_BIT bits, so can be in 2^CHAR_BIT states, meaning we have 2^(S + CHAR_BIT) possible states memory can be in. Since there's a finite number of states, it's not a Turing machine.
- Scarblac 2y agoJust implement find and mkdir and make the Turing machine using those.
- eMSF 2y agoWhy does everything have to fit in the memory all of a sudden? Open files, there's your infinite tape.
- jcranmer 2y agoYour position in a file has to be uniquely specifiable with fpos_t, so you can't have an infinite file in C. > fpos_t is a complete object type other than an array type capable of recording all the information needed to specify uniquely every position within a file. [7.23.1p3 of N3054 working draft of C2x, as that's what I have open right now.]