Wikipedia:Reference desk/Archives/Computing/2016 August 12

Computing desk
< August 11 << Jul | August | Sep >> August 13 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is an archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


August 12

edit

Steppping Up

edit

What's the most practical and least-wastage way to convert the 1.5 or 3 volts D.C. from a small battery (say a button cell), to something between 100 and 200 A.C. volts, using only s.m.d. components. Kindly explain exactly what sort of parts be used, and in what order. 210.56.109.247 (talk) 04:51, 12 August 2016 (UTC)[reply]

The term for this sort of circuit is an inverter. This site has some suitable circuits, and a search on "inverter circuit" will come up with plenty of examples. Note that, by using SMD components, you're going to be limited in the amount of power you can deliver, but presumably this isn't a consideration if you're powering it with a button cell. Tevildo (talk) 07:09, 12 August 2016 (UTC)[reply]
A boost converter may have less parts due special designed integrated circuits are avail. Some can control a transistor for switching higher current. Propeprly designed and built, an efficiency about 95 % can be reached. Note LED flashlights use the boost converter for current limiting. If You want to generate 100 to 200 volts from a Battery, see how CCFL inverters and CRT monitors work. If You double the voltage output, You will have least half current, only. From an single battery, You will get a electric shocker, only due less current from battery at higher voltage. Redesigning a power supply for pracical use would be the solution for such applications. If You need 230 volts and there are 115 volts from the wall only, ask Your electrician if You have split-phase electric power, it is just a wire in a cable to change 115 to 230 volts. --Hans Haase (有问题吗) 09:30, 12 August 2016 (UTC)[reply]
First, this is on the wrong reference desk, and more importantly, working with 100-200 volts AC is a really good way to kill yourself if you don't know what you're doing. See an electrician. --71.110.8.102 (talk) 12:33, 13 August 2016 (UTC)[reply]

Consolidating worksheets in Excel

edit

I work for a housing authority. I have six spreadsheets, each of which tells me what date a specific action was taken at a specific address. Each sheet contains only those addresses at which the relevant action has been taken. Each address has a unique reference number. Is there a way in Excel of combining all six spreadsheets into one, which has a row for every address and a column for each of the six actions, other than copying and pasting one by one (there are rather too many addresses for that)? --Nicknack009 (talk) 10:42, 12 August 2016 (UTC)[reply]

  • Could you be more specific about which format your data is?
Going by the assumption that you have 6 files taskA, taskB etc. and each of taskX contains two colums (address reference number, date of the task), it sounds fairly straightforward. Just sort each of the files by reference number and copy-paste the second column of taskX into a new spreadsheet under the column "taskX".
This assumes that each file contains the same set of addresses, but if that is not the case, it should not be very hard to add the missing addresses (leaving the second column blank) before sorting in each of the files.
Of course, this kind of operation would be trivially done on csv files in a programming language such as Python, but I think I can assume you are not familiar with that kind of things. TigraanClick here to contact me 11:17, 12 August 2016 (UTC)[reply]
Presuming that the spreadsheet into which data is to be consolidated has the complete set of unique reference numbers (e.g. as column A) then columns B to G can use the vlookup formula to pull data from the six spreadsheets, and, for bonus points, wrapping vlookup within an if(iserror statement deals with instances where there is not an action in the subsidiary spreadsheet. The formula in each cell of a column would be along the lines of =if(iserror(vlookup(a2;[spreadsheet1.xls].$a$2:$b$999;2;false);"";(vlookup(a2;[spreadsheet1.xls].$a$2:$b$999;2;false)) ... my syntax will be dodgy as I only have openoffice to hand not Excel. In essence, a2 points to the URN being searched for; it is searched for in the A2 to B999 range in spreadsheet1.xls; the 2 value says 'if found, return the value from column B' (which in my conceptual model is the action taken on the property), and false ... I forget, probably something about an exact match. And more widely, if you find an error (i.e. there is no row for this URN in the subsid file) then make the value of the cell blank, else return the value found in the B column. And the $ symbols in the formula specify the range being searched in the subsidiary spreadsheets as absolute cell references, meaning you can cut and paste it down the column without suffering relative cell addressing problems. hth --Tagishsimon (talk) 11:40, 12 August 2016 (UTC)[reply]

The "4gb" (its note EXACTLY 4gb on some cases like windows 32bits) limit on 32bits, is per program or on the entire computer?

edit

An question: The "4gb" (its note EXACTLY 4gb on some cases like windows 32bits) limit on 32bits, is per program or on the entire computer?
I am doing some research and some places say it per program, while some sort of imply being on the entire computer.177.92.128.26 (talk) 17:17, 12 August 2016 (UTC)[reply]

While there are methods (in particular Physical Address Extension) to support more than 4GB with 32 bit OSes, Windows has limited home or workstation editions (except some earlier editions of XP) of the OS to the first 4GB which means you have 4GB minus whatever address ranges that are reserved by various other functions. Under normal setups, 2GB of that is available to programs and 2GB is available to the kernel although this can be adjusted (but most individual programs will still be limited to 2GB). Some motherboards come with software (and I think there are also some not tied to any motherboard) that let's you use some of the RAM for a RAMdisk which can then be used by Windows like any disk (albeit a volatile one). See also 3 GB barrier. Note that if you have a 64 bit Windows, any 32 bit programs will generally be limited to 2GB or occasionally 4GB. Nil Einne (talk) 17:41, 12 August 2016 (UTC)[reply]
It depends on the operating system. On some older operating systems, everything ran in one address space, so all processes shared the same 4 GB. Actually most of these ran on pre-32 bit processors, so the address space may have been only 64K (16 bits). Besides limiting the address space available to each process due to this sharing, it also allowed one process to accidentally or deliberately modify memory belonging to another process. Most modern OSes use virtual memory, and every process has its own address space (that is, page tables are swapped when a new process runs). So each process has its own separate 4 GB address space. This allows many processes to coexist without decreasing the addresses available to each, and also makes it impossible for an errant process to corrupt another process's memory. Whether the process address space is shared with the kernel address space is orthogonal to this issue. Sometimes the kernel has yet another separate address space, or sometimes it is carved out of the space of the currently running process. CodeTalker (talk) 14:23, 13 August 2016 (UTC)[reply]
I don't see the following clearly stated in the answers above... Memory in modern computers tends to be addressable memory (there are other types - but they are not common in modern computers). Addressable means that every memory location has an address. It is normal for each memory location to be a single byte. The first byte is at address 0. The second one is at address 1. The third one is as address 2... and so on. A 32-bit CPU has a maximum of 32 bits to store a memory address. That means that the largest number it can store is 4,294,967,295. That is the largest address it can store. You could have an address with a higher number over in memory, but your CPU couldn't store the number and couldn't refer to it. That is where you get the 4GB memory limitation. There are many workarounds designed to access more memory. 209.149.113.4 (talk) 12:19, 15 August 2016 (UTC)[reply]
It wasn't addressed because that wasn't the OP's question. The question was whether each separate program is limited to 4 GB or whether all programs share one 4 GB space. CodeTalker (talk) 17:30, 15 August 2016 (UTC)[reply]